package org.petstore.service;

import org.petstore.domain.Account;

public interface AccountService {
    /**
     * description 通过用户名 返回用户Account 如果不存在 则返回null
     *
     * @param username: 用户名
     * @return Account
     * @author huangzhangyan
     * @date 2022/1/8 13:58
     */
    Account getAccount(String username);

    /**
     * description 用于登录 传 用户名密码,返回用户Account 如果不存在 则返回null
     *
     * @param username:
     * @param password:
     * @return Account
     * @author huangzhangyan
     * @date 2022/1/9 23:34
     */
    Account login(String username, String password);

    /**
     * description 用于注册
     *
     * @param user:
     * @return int -1: 用户名已存在 0: 异常
     * @author huangzhangyan
     * @date 2021/11/1 1:37
     */
    int register(Account user);

    /**
     * description 编辑用户信息(包括用户名)
     *
     * @param user:
     * @param currentUsername:
     * @return int -1 新用户名已被占用
     * @author huangzhangyan
     * @date 2021/11/1 1:41
     */
    int editAccountIncludeUsername(Account user, String currentUsername);

    /**
     * description 用户名是否存在
     *
     * @param username:
     * @return boolean
     * @author huangzhangyan
     * @date 2022/1/10 15:37
     */
    boolean isUsernameExist(String username);
}
